<?php

function getPaisDoBeneficiario($numeroDoBeneficiario) {
    global $db;
    $sql = '
        select bnfpais as pais
        from officeschema.beneficiarios
        where officeschema.beneficiarios.BnfNumero=' . $numeroDoBeneficiario . ';';
    $result = $db->getall($sql);
    $result = $result[0]->pais;
    return $result;
}

function paisPertenceAoRusslavBank($idPais) {
    global $db;
    $sql = '
        select
        id
        from russlavbank.country
        where id=' . $idPais . ';';
    $result = $db->getall($sql);
    if (count($result)) {
        return true;
    }
    return false;
}

function correspondenteRusslavBank($correspondente) {
    if ($correspondente == 'RUSSLAVBANK') {
        return true;
    } else {
        return false;
    }
}

function correspondenteMoneyExpressUnitedKingdom($correspondente) {
    if ($correspondente == 'MEUK') {
        return true;
    } else {
        return false;
    }
}

function modoNormal($FraEnviado, $FraEntregue, $MYT, $GET, $TypeTax1, $TypeTax0, $Inv) {

    global $sysTime, $db, $russslav, $SESSID, $SESSCD, $SESSLG;

    if ($_POST['TaxPay'] == 0) {
        $TypeTax1 = $Inv['FraCargo'];
        $FraEnviado = $FraEnviado - $TypeTax1;
    } elseif ($_POST['TaxPay'] == 1) {
        $TypeTax0 = $Inv['FraCargo'];
        $FraEntregue = $FraEntregue + $TypeTax0;
    }
    if ($FraEnviado > 0 && $_POST['FraCalc'] > 0) {

        $prStr = '<table width="100%"  border="0" cellpadding="1" cellspacing="1" bgcolor="#666666">
            <tr>
            <td bgcolor="#FFFFFF">
                <table width="100%"  border="0" cellspacing="0" cellpadding="2">
                    <tr bgcolor="#D9DBC1">
                        <td width="10">&nbsp; </td>
                        <td height="20">Correspondente</td>
                        <td width="9%">C. Base</td>
                        <td width="9%">C. Final</td>
                        <td>Nominal</td>
                        <td>Taxa</td>
                        <td>Enviado</td>
                        <td>Promo</td>
                        <td>A Pagar</td>
                        <td>Moeda</td>
                        <td>&nbsp;</td>
                    </tr>';
    } else {
        $prStr = '<div class="Error">Verifique os valores.</div>';
    }
    if (isset($_POST['htr_ID']) && $_POST['htr_ID'] > 0) {
        $sql = "SELECT
			htr_ID,
                        htr_Pais,
			htr_Tasa,
			miso_Cod_Elite,
			(htr_PComision+htr_PAgente)/100 AS htr_PCargo,
			(htr_PComision/100) AS htr_PComision,
			(htr_PAgente/100) AS htr_PAgente,
			htr_MonPagoISO,
			CorrAlias,
			CorrNumero,
			tam_Type
		FROM hd_cambiosdia
			INNER JOIN hd_monedasiso ON miso_ID = htr_MonPagoISO
			INNER JOIN corresponsales ON CorrNumero = htr_Corresponsal
			LEFT OUTER JOIN tramoscorresponsal ON tam_Corr = CorrNumero
		WHERE htr_ID = {$_POST['htr_ID']}";
        //$prStr .= '1' . $sql;
        $GET = $GLOBALS['MYT']->db_array($sql);
    } elseif (isset($_POST['RTQuot'])) {

        $sql = "SELECT
			htr_ID,
                        htr_Pais,
			htr_Tasa,
			(htr_PComision+htr_PAgente)/100 AS htr_PCargo,
			(htr_PComision/100) AS htr_PComision,
			(htr_PAgente/100) AS htr_PAgente,
			miso_Cod_Elite,
			htr_MonPagoISO,
			CorrAlias,
			CorrNumero,
			tam_Type
		FROM hd_cambiosdia
			INNER JOIN beneficiarios ON beneficiarios.BnfPais = hd_cambiosdia.htr_Pais
			INNER JOIN hd_monedasiso ON hd_monedasiso.miso_ID = hd_cambiosdia.htr_MonPagoISO
			INNER JOIN corresponsales ON CorrNumero = htr_Corresponsal
			LEFT OUTER JOIN tramoscorresponsal ON tam_Corr = CorrNumero
		WHERE beneficiarios.BnfNumero = {$_POST['OBJCTRC']}
			AND htr_MCobro = {$_POST['FraMonCobro']}
			AND htr_Tarifa = {$_POST['RTQuot']}
			AND ({$_POST['FraCalc']}*htr_Tasa BETWEEN htr_DDesde AND htr_DHasta OR htr_DHasta = 0)
			ORDER BY htr_PrioridadCorresponsal;";
        //$prStr .=  '2' . $sql;
        $GET = $GLOBALS['MYT']->db_array($sql);
    } else {

        $prStr .= '<tr><td colspan="7">Nao existem tarifas activas.</td></tr>';
    }
    $burla = 0;
    for ($rt = 1; $rt <= $GET[0]; $rt++) {
        if ($FraEnviado * $GET[$rt]['htr_PCargo'] > $GET[$rt]['htr_PCargo'] * 100) {
            $FraCargo = $FraEnviado * $GET[$rt]['htr_PCargo'];
            $htr_PComision = $FraEnviado * $GET[$rt]['htr_PComision'];
            $htr_PAgente = $FraEnviado * $GET[$rt]['htr_PAgente'];
        } else {
            $FraCargo = $GET[$rt]['htr_PCargo'] * 100;
            $htr_PComision = 100 * $GET[$rt]['htr_PComision'];
            $htr_PAgente = 100 * $GET[$rt]['htr_PAgente'];
        }
        if ($GET[$rt]['CorrNumero'] == 307) {
            include $GLOBALS['ROO'] . 'Modules/Operative/class.tmptarifa.php';
            $NovaTarifa = new Tarifa;
            $tmpModifierTax = $NovaTarifa->CalculaTarifa($GET[$rt]['CorrNumero'], $GET[$rt]['htr_Pais'], $FraEnviado);
            $FraCargo = $tmpModifierTax['TaxaTotal'];
            $htr_PComision = $tmpModifierTax['TaxaCorr'];
            $htr_PAgente = $tmpModifierTax['ImpSelo'];
        }
        $correspodente = $GET[$rt]['CorrAlias'];
        if (correspondenteRusslavBank($correspodente)) {
            $_POST['TaxPay'] = 0;
            $idBeneficario = $_POST['OBJCTRC'];
            $sql = '
			select cb_banco as banco
			from officeschema.beneficiarioscuentas
			where officeschema.beneficiarioscuentas.cb_Beneficiario=' . $idBeneficario;
            $result = $db->getall($sql);
            $banco = $result[0]->banco;
            $FraCargo = calculaTaxa($FraEntregue, $banco);
        }
        if (correspondenteMoneyExpressUnitedKingdom($GET[$rt]['CorrAlias'])) {
            $_POST['TaxPay'] = 0;
            $FraCargo = 5;
        }
        if ($_POST['TaxPay'] == 0) {
            $FraEnviado = $FraEnviado - $FraCargo;
        } elseif ($_POST['TaxPay'] == 1) {
            $FraEntregue = $FraEntregue + $FraCargo;
        }
        $prStr .= '<tr bgcolor="' . gridlines($rt) . '" height="20"><td>&nbsp;</td><td>' . $GET[$rt]['CorrAlias'] . '</td><td>';
        $FraCorresponsal = $GET[$rt]['CorrNumero'];
        $htr_Tasa = number_format($GET[$rt]['htr_Tasa'], 4, '.', '');
        $prStr .= '</td><td>';
        $sql = "
                SELECT * FROM hd_cambreqday
                WHERE req_Tmp = {$_POST['TmpOp']} AND Status = 2 AND req_htr = {$GET[$rt]['htr_ID']}
                AND sysUser = {$_SESSION[$SESSID]} AND sysOffice = {$_SESSION[$SESSCD]}
                AND req_Cli = {$_POST['OBJCTCL']} AND req_Bnf = {$_POST['OBJCTRC']}
                AND req_Amount = ' {$_POST ['FraCalc']}'";
        $GETREQ = $GLOBALS['MYT']->db_array($sql);
        if (isset($GETREQ[1])) {
            $htr_Tasa = number_format($GETREQ[1]['apr_Rate'], 4, '.', '');
        }
        if (isset($_POST['saldo_amigo']) && $_POST['saldo_amigo'] == "1" && $GET[$rt]['htr_Pais'] == 76) {
            $SaldoAmigo = $GLOBALS['MYT']->db_array("SELECT sum(valor_prom)as saldo FROM promotions_new_friend WHERE clinumero_indicou = {$_POST['OBJCTCL']} and promotion_usada = 0 and clinumero_efectuou_remessa_acima_100 = 1 having DATE_SUB(CURRENT_DATE, INTERVAL 3 day) ");
            $saldo_final_amigo = $SaldoAmigo[1]['saldo'];
            //verificar se cpf beneficiario para kem é a remessa existe no cliente q o indicou
            $dados_cliente_angariado = $GLOBALS['MYT']->db_array("SELECT uca_client FROM unionclientesangariadores WHERE uca_Gather = {$_POST['OBJCTCL']}");
            $dados_cliente_angariou = $GLOBALS['MYT']->db_array("SELECT uca_gather FROM unionclientesangariadores WHERE uca_Gather = {$_POST['OBJCTCL']}");
            $dados_cliente_beneficiario = $GLOBALS['MYT']->db_array("SELECT BnfCedula FROM beneficiarios WHERE BnfNumero = {$_POST['OBJCTRC']}");
           // echo " Cliente angariado: ".$dados_cliente_angariado[1]['uca_client'];
           // echo " Cliente angariou: ".$dados_cliente_angariou[1]['uca_gather'];
           // echo " id beneficiario: ".$_POST['OBJCTRC'];

            $dados_beneficiarios = $GLOBALS['MYT']->db_array("SELECT COUNT(bnfcedula)as nbeneficiarios, bnfcedula FROM beneficiarios INNER JOIN unionclientesbeneficiarios ON uniBeneficiario = bnfnumero
                                    WHERE unionclientesbeneficiarios.uniCliente = {$dados_cliente_angariou[1]['uca_gather']} 
                                    OR unionclientesbeneficiarios.uniCliente = {$dados_cliente_angariado[1]['uca_client']} AND bnfcedula = {$dados_cliente_beneficiario[1]['BnfCedula']}
                                    GROUP BY bnfcedula");
            if ($dados_beneficiarios[1]['nbeneficiarios']>1){
                  $Inv['FraProm'] = 0 ;
                  $burla = 1;
            }
            else
            {
                $Inv['FraProm'] = $saldo_final_amigo;
            }
                

        }
        
        if ($GET[$rt]['CorrNumero'] == 321 || $GET[$rt]['CorrNumero'] == 301) {
            $FraPromFinal = $Inv['FraProm'];
            $FraARecibir = ($FraEnviado + $Inv['FraProm']) * $htr_Tasa;
        } else {
            $FraPromFinal = 0;
            $FraARecibir = ($FraEnviado) * $htr_Tasa;
        }

        $prStr .= $htr_Tasa . '</td><td>' . number_format($FraEntregue, 2, ', ', '') . '</td><td>';
        $prStr .= number_format($FraCargo + $Inv['FraCargo'], 2, ', ', '') . '</td><td>';
        $prStr .= number_format($FraEnviado, 2, ', ', '') . '</td><td>';
        $prStr .= number_format($FraPromFinal, 2, ', ', '') . '</td><td>';

        //saldo de amigo indicado.
        $data = "'" . $sysTime . "'";

        if (isset($GET[$rt]['tam_Type']) && $GET[$rt]['tam_Type'] == 0) {
            $FraARecibir = number_format($FraARecibir, 0, '', '');
        } elseif (isset($GET[$rt]['tam_Type']) && $GET[$rt]['tam_Type'] == 1) {
            $FraARecibir = split('.', $FraARecibir);
            $FraARecibir = $FraARecibir[0];
        }

        $prStr .= number_format($FraARecibir, 2, ', ', '').'</td><td>'.$GET[$rt]['htr_MonPagoISO'].'</td><td width="30%">';
        if (isset($_POST['htr_ID']) && $_POST['htr_ID'] > 0) {
            $prStr .= '<script charset="utf-8" type="text/javascript">
                document.InvoiceProperties.FraEntregue.value=\'' . number_format($FraEntregue, 2, '.', '') . '\';
			  document.InvoiceProperties.FraEnviado.value=\'' . number_format($FraEnviado, 2, '.', '') . '\';
			  document.InvoiceProperties.FraARecibir.value=\'' . number_format($FraARecibir, 2, '.', '') . '\';
			  document.InvoiceProperties.FraTasa.value=\'' . $htr_Tasa . '\';
			  document.InvoiceProperties.FraCorresponsal.value=\'' . $FraCorresponsal . '\';
			  document.InvoiceProperties.FraTasaAgn.value=\'' . $GET[$rt]['htr_Tasa'] . '\';
			  document.InvoiceProperties.FraProm.value=\'' . $FraPromFinal . '\';
			  document.InvoiceProperties.FraCargo.value=\'' . number_format($FraCargo + $Inv['FraCargo'], 2, '.', '') . '\';
			  document.InvoiceProperties.FraComisionCorr.value=\'' . number_format($htr_PComision, 2, '.', '') . '\';
			  document.InvoiceProperties.FraComisionAg.value=\'' . number_format($htr_PAgente, 2, '.', '') . '\';
			  document.InvoiceProperties.FraMonDPago.value=\'' . $GET[$rt]['miso_Cod_Elite'] . '\';
			  document.InvoiceProperties.MonDPagoISO.value=\'' . $GET[$rt]['htr_MonPagoISO'] . '\';
			  document.InvoiceProperties.action=\'_response/call.php?get=Operative/remittancebuttoncalc\';
			  subform(\'InvoiceProperties\',\'inv_Calc\');
			  PopInvoice();
			  </script>
			<div id="ORRate">';
            include('remittancerate.php');
            $prStr .= '</div>';
        } else {
            $prStr .= rt_field('button', 'ED', 'Check', 'Selecionar', '', '', 'True', '" onclick="
			  document.InvoiceProperties.htr_ID.value=\'' . $GET[$rt]['htr_ID'] . '\';
			  document.InvoiceProperties.action=\'_response/call.php?get=Operative/remittancecalc\';
			  subform(\'InvoiceProperties\',\'inv_Result\');');
        }
        $prStr .= '</td></tr>';
    }

    if ($burla = 1){
        echo "Cliente não pode beneficiar dos 10€ de promoção devido a suspeita de burla.";
    }

    $prStr .= '</table></td></tr></table>';
    return $prStr;
}

function calculaTaxa($valor, $banco) {
    global $russlavBank;
    $result = $russlavBank->calcFee($valor, $banco);


    if ($russlavBank->erroRusslav == 1) {
        return $result;
    }
    $russlavBank->testa($result);
    $result = $russlavBank->objectsIntoArray(simplexml_load_string($result));
    $taxa = $result['@attributes']['TRANSACTION_FEE'];
    return $taxa;
}

MYTCONN();
$MYT = $GLOBALS['MYT'];
$GET = null;
$_POST['FraCalc'] = str_replace(',', '.', $_POST['FraCalc']);
$FraEnviado = $_POST['FraCalc'];
$FraEntregue = $_POST['FraCalc'];
$TypeTax1 = 0;
$TypeTax0 = 0;
$Inv['FraEnviado'] = 0;
$Inv['FraCargo'] = $_POST['FraCargoMod'];
include('remittancepromotion.php');
$numeroDoBeneficiario = $_POST['OBJCTRC'];
$paisDoBeneficiario = getPaisDoBeneficiario($numeroDoBeneficiario);
echo modoNormal($FraEnviado, $FraEntregue, $MYT, $GET, $TypeTax1, $TypeTax0, $Inv);